package com.ty.web;

import com.ty.bean.Grade;
import com.ty.bean.Student;
import com.ty.service.GradeService;
import com.ty.service.StudentService;
import com.ty.service.impl.GradeServiceImpl;
import com.ty.service.impl.StudentServiceImpl;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.List;

/**
 * @author 田野
 */
@WebServlet(urlPatterns = "/Educational/student/deleteById")
public class DeleteByIdServlet extends HttpServlet {
    @Override
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        // 1、接收参数
        String sid = req.getParameter("sid");
        // 测试一把，控制台输出
        System.out.println("主键查询的sid" + sid);
        // 2、调用service层
        StudentService service = new StudentServiceImpl();
        if (sid != null){
            int i = service.delStu(sid);
            // 3、跳转页面
            resp.setContentType("text/html;charset=utf-8");
            PrintWriter writer = resp.getWriter();
            if (i>0){
                // 3、跳转页面到list.jsp
                /*writer.print("<script>alert('更新成功！！！！')；location.href='list.jsp'</script>");*/
                // 前端发送请求的方式，之前都是通过超链接或者是表单，而这里是通过js来发送请求，
                // 之后再跳转到list.jsp 因为在list.jsp 有 <c:forEach items="${stulist}" var="stu"> 而此时 stulist并没有存值，
                // 因此会报错，所以不能直接使用上面的代码中的直接跳转到list.jsp页面。

                // 非常关键的是在StudentDaoImpl类中，getStudents()方法和total()方法中的sql语句需要做一些限定，也就是state != -1 的学生可以查询出来。
                writer.print("<script>alert('删除成功！！！！');location.href='/Educational/student/getStudentList'</script>");

            }else {
                // 同样的道理，这里也不能直接跳转到edit.jsp页面，因为有 <c:forEach items="${glist}" var="g">
                // 而这个 glist 并没有存值
                /*writer.print("<script>alert('新增失败！！！！')；location.href='add.jsp'</script>");*/
                writer.print("<script>alert('删除失败！！！！');location.href='/Educational/student/getStudentList'</script>");
            }

            /**
             * 也就是无论是新增成还是失败，都会给后台发送一个请求
             * 处理这个请求之后再跳转到相应的页面
             */

        }






    }
}
